using System;

namespace ScrumManagementTool.domain.interfaces
{
    public interface ISprint
    {
        int Id { get; set; }
        DateTime StartDate { get; set; }
        DateTime EndDate { get; set; }
        int HoursPerDay { get; set; }
        bool Weekends { get; set; }
        string Name { get; set; }

        int LengthOfSprintInDays();

        IBacklog GetSprintBacklog();
        void SetSprintBacklog(IBacklog sprintBacklog);
        void AddUserStory(IUserStory userStory);
        int GetNumberOfUserStories();

        ITeam GetSprintTeam();
        void SetSprintTeam(ITeam sprintTeam);
        IMember GetSprintMember(int memberId);
        void AddSprintMember(IMember sprintMember);
        void RemoveSprintMember(int sprintMemberId);
        void RemoveSprintMember(IMember sprintMember);
        int GetNumberOfMembers();
    }
}